package com.nan.leetcode.链表.删除链表中重复元素.判断链表是否带环;

import java.util.HashSet;
import java.util.Set;

class ListNode {
      int val;
      ListNode next;
      ListNode(int x) {
          val = x;
          next = null;
      }
  }
public class Test {
    public boolean hasCycle(ListNode head) {
        Set<ListNode> set = new HashSet<>();
        ListNode cur = head;
        while (cur != null) {//如果当前节点不为空就将当前节点存入哈希表，
            if (set.contains(cur)) {//哈希表中如果已经有这个节点就返回true，
                // 调用contains方法是看哈希表中有没有有保存这个节点的哈希值
                return true;
            }
            set.add(cur);
            cur = cur.next;
        }
        return false;
    }
}